<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>SFML - Simple and Fast Multimedia Library</title>
        <meta http-equiv="Content-Type" content="text/html;"/>
        <meta charset="utf-8"/>
        <!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
        <link rel="stylesheet" type="text/css" href="doxygen.css" title="default" media="screen,print" />
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="dynsections.js"></script>
        <link rel="stylesheet" type="text/css" href="search/search.css" />
        <link rel="stylesheet" type="text/css" href="searchOverrides.css" />
        <script type="text/javascript" src="search/searchdata.js"></script>
        <script type="text/javascript" src="search/search.js"></script>
        <script type="text/javascript">
        /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
          $(document).ready(function() { init_search(); });
        /* @license-end */
        </script>
    </head>
    <body>
        <div id="banner-container">
            <div id="banner">
                <span id="sfml">SFML 2.6.1</span>
            </div>
        </div>
        <div id="content">
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <span id="MSearchSelect"                onmouseover="return searchBox.OnSearchSelectShow()"                onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
          <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>sf</b></li><li class="navelem"><a class="el" href="classsf_1_1SoundFileFactory.html">SoundFileFactory</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classsf_1_1SoundFileFactory-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">sf::SoundFileFactory Class Reference<div class="ingroups"><a class="el" href="group__audio.html">Audio module</a></div></div></div>
</div><!--header-->
<div class="contents">

<p>Manages and instantiates sound file readers and writers.  
 <a href="classsf_1_1SoundFileFactory.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="SoundFileFactory_8hpp_source.html">SFML/Audio/SoundFileFactory.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:aeee396bfdbb6ac24c57e5c73c30ec105"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aeee396bfdbb6ac24c57e5c73c30ec105"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1SoundFileFactory.html#aeee396bfdbb6ac24c57e5c73c30ec105">registerReader</a> ()</td></tr>
<tr class="memdesc:aeee396bfdbb6ac24c57e5c73c30ec105"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a new reader.  <br /></td></tr>
<tr class="separator:aeee396bfdbb6ac24c57e5c73c30ec105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac42f01faf678d1f410e1ce8a18e4cebb"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ac42f01faf678d1f410e1ce8a18e4cebb"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1SoundFileFactory.html#ac42f01faf678d1f410e1ce8a18e4cebb">unregisterReader</a> ()</td></tr>
<tr class="memdesc:ac42f01faf678d1f410e1ce8a18e4cebb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unregister a reader.  <br /></td></tr>
<tr class="separator:ac42f01faf678d1f410e1ce8a18e4cebb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb6e082ea3fedf22c8648113d1be5755"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:abb6e082ea3fedf22c8648113d1be5755"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1SoundFileFactory.html#abb6e082ea3fedf22c8648113d1be5755">registerWriter</a> ()</td></tr>
<tr class="memdesc:abb6e082ea3fedf22c8648113d1be5755"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a new writer.  <br /></td></tr>
<tr class="separator:abb6e082ea3fedf22c8648113d1be5755"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bd8ebd264a5ec33962a9f7a8ca21a60"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a1bd8ebd264a5ec33962a9f7a8ca21a60"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1SoundFileFactory.html#a1bd8ebd264a5ec33962a9f7a8ca21a60">unregisterWriter</a> ()</td></tr>
<tr class="memdesc:a1bd8ebd264a5ec33962a9f7a8ca21a60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unregister a writer.  <br /></td></tr>
<tr class="separator:a1bd8ebd264a5ec33962a9f7a8ca21a60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae68185540db5e2a451d626be45036fe0"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classsf_1_1SoundFileReader.html">SoundFileReader</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SoundFileFactory.html#ae68185540db5e2a451d626be45036fe0">createReaderFromFilename</a> (const std::string &amp;filename)</td></tr>
<tr class="memdesc:ae68185540db5e2a451d626be45036fe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate the right reader for the given file on disk.  <br /></td></tr>
<tr class="separator:ae68185540db5e2a451d626be45036fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2384ed647b08c5b2bbf43566d5d7b5fd"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classsf_1_1SoundFileReader.html">SoundFileReader</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SoundFileFactory.html#a2384ed647b08c5b2bbf43566d5d7b5fd">createReaderFromMemory</a> (const void *data, std::size_t sizeInBytes)</td></tr>
<tr class="memdesc:a2384ed647b08c5b2bbf43566d5d7b5fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate the right codec for the given file in memory.  <br /></td></tr>
<tr class="separator:a2384ed647b08c5b2bbf43566d5d7b5fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af64ce454cde415ebd3ca5442801d87d8"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classsf_1_1SoundFileReader.html">SoundFileReader</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SoundFileFactory.html#af64ce454cde415ebd3ca5442801d87d8">createReaderFromStream</a> (<a class="el" href="classsf_1_1InputStream.html">InputStream</a> &amp;stream)</td></tr>
<tr class="memdesc:af64ce454cde415ebd3ca5442801d87d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate the right codec for the given file in stream.  <br /></td></tr>
<tr class="separator:af64ce454cde415ebd3ca5442801d87d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bc9da55d78be2c41a273bbbea4c0978"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classsf_1_1SoundFileWriter.html">SoundFileWriter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SoundFileFactory.html#a2bc9da55d78be2c41a273bbbea4c0978">createWriterFromFilename</a> (const std::string &amp;filename)</td></tr>
<tr class="memdesc:a2bc9da55d78be2c41a273bbbea4c0978"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate the right writer for the given file on disk.  <br /></td></tr>
<tr class="separator:a2bc9da55d78be2c41a273bbbea4c0978"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Manages and instantiates sound file readers and writers. </p>
<p>This class is where all the sound file readers and writers are registered.</p>
<p>You should normally only need to use its registration and unregistration functions; readers/writers creation and manipulation are wrapped into the higher-level classes <a class="el" href="classsf_1_1InputSoundFile.html" title="Provide read access to sound files.">sf::InputSoundFile</a> and <a class="el" href="classsf_1_1OutputSoundFile.html" title="Provide write access to sound files.">sf::OutputSoundFile</a>.</p>
<p>To register a new reader (writer) use the <a class="el" href="classsf_1_1SoundFileFactory.html#aeee396bfdbb6ac24c57e5c73c30ec105" title="Register a new reader.">sf::SoundFileFactory::registerReader</a> (registerWriter) static function. You don't have to call the unregisterReader (unregisterWriter) function, unless you want to unregister a format before your application ends (typically, when a plugin is unloaded).</p>
<p>Usage example: </p><div class="fragment"><div class="line">sf::SoundFileFactory::registerReader&lt;MySoundFileReader&gt;();</div>
<div class="line">sf::SoundFileFactory::registerWriter&lt;MySoundFileWriter&gt;();</div>
</div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="classsf_1_1InputSoundFile.html" title="Provide read access to sound files.">sf::InputSoundFile</a>, <a class="el" href="classsf_1_1OutputSoundFile.html" title="Provide write access to sound files.">sf::OutputSoundFile</a>, <a class="el" href="classsf_1_1SoundFileReader.html" title="Abstract base class for sound file decoding.">sf::SoundFileReader</a>, <a class="el" href="classsf_1_1SoundFileWriter.html" title="Abstract base class for sound file encoding.">sf::SoundFileWriter</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="SoundFileFactory_8hpp_source.html#l00046">46</a> of file <a class="el" href="SoundFileFactory_8hpp_source.html">SoundFileFactory.hpp</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ae68185540db5e2a451d626be45036fe0" name="ae68185540db5e2a451d626be45036fe0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae68185540db5e2a451d626be45036fe0">&#9670;&#160;</a></span>createReaderFromFilename()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classsf_1_1SoundFileReader.html">SoundFileReader</a> * sf::SoundFileFactory::createReaderFromFilename </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Instantiate the right reader for the given file on disk. </p>
<p>It's up to the caller to release the returned reader</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>Path of the sound file</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A new sound file reader that can read the given file, or null if no reader can handle it</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classsf_1_1SoundFileFactory.html#a2384ed647b08c5b2bbf43566d5d7b5fd" title="Instantiate the right codec for the given file in memory.">createReaderFromMemory</a>, <a class="el" href="classsf_1_1SoundFileFactory.html#af64ce454cde415ebd3ca5442801d87d8" title="Instantiate the right codec for the given file in stream.">createReaderFromStream</a> </dd></dl>

</div>
</div>
<a id="a2384ed647b08c5b2bbf43566d5d7b5fd" name="a2384ed647b08c5b2bbf43566d5d7b5fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2384ed647b08c5b2bbf43566d5d7b5fd">&#9670;&#160;</a></span>createReaderFromMemory()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classsf_1_1SoundFileReader.html">SoundFileReader</a> * sf::SoundFileFactory::createReaderFromMemory </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname"><em>sizeInBytes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Instantiate the right codec for the given file in memory. </p>
<p>It's up to the caller to release the returned reader</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>Pointer to the file data in memory </td></tr>
    <tr><td class="paramname">sizeInBytes</td><td>Total size of the file data, in bytes</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A new sound file codec that can read the given file, or null if no codec can handle it</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classsf_1_1SoundFileFactory.html#ae68185540db5e2a451d626be45036fe0" title="Instantiate the right reader for the given file on disk.">createReaderFromFilename</a>, <a class="el" href="classsf_1_1SoundFileFactory.html#af64ce454cde415ebd3ca5442801d87d8" title="Instantiate the right codec for the given file in stream.">createReaderFromStream</a> </dd></dl>

</div>
</div>
<a id="af64ce454cde415ebd3ca5442801d87d8" name="af64ce454cde415ebd3ca5442801d87d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af64ce454cde415ebd3ca5442801d87d8">&#9670;&#160;</a></span>createReaderFromStream()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classsf_1_1SoundFileReader.html">SoundFileReader</a> * sf::SoundFileFactory::createReaderFromStream </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsf_1_1InputStream.html">InputStream</a> &amp;&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Instantiate the right codec for the given file in stream. </p>
<p>It's up to the caller to release the returned reader</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">stream</td><td>Source stream to read from</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A new sound file codec that can read the given file, or null if no codec can handle it</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classsf_1_1SoundFileFactory.html#ae68185540db5e2a451d626be45036fe0" title="Instantiate the right reader for the given file on disk.">createReaderFromFilename</a>, <a class="el" href="classsf_1_1SoundFileFactory.html#a2384ed647b08c5b2bbf43566d5d7b5fd" title="Instantiate the right codec for the given file in memory.">createReaderFromMemory</a> </dd></dl>

</div>
</div>
<a id="a2bc9da55d78be2c41a273bbbea4c0978" name="a2bc9da55d78be2c41a273bbbea4c0978"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bc9da55d78be2c41a273bbbea4c0978">&#9670;&#160;</a></span>createWriterFromFilename()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classsf_1_1SoundFileWriter.html">SoundFileWriter</a> * sf::SoundFileFactory::createWriterFromFilename </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Instantiate the right writer for the given file on disk. </p>
<p>It's up to the caller to release the returned writer</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>Path of the sound file</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A new sound file writer that can write given file, or null if no writer can handle it </dd></dl>

</div>
</div>
<a id="aeee396bfdbb6ac24c57e5c73c30ec105" name="aeee396bfdbb6ac24c57e5c73c30ec105"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeee396bfdbb6ac24c57e5c73c30ec105">&#9670;&#160;</a></span>registerReader()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void sf::SoundFileFactory::registerReader </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Register a new reader. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classsf_1_1SoundFileFactory.html#ac42f01faf678d1f410e1ce8a18e4cebb" title="Unregister a reader.">unregisterReader</a> </dd></dl>

</div>
</div>
<a id="abb6e082ea3fedf22c8648113d1be5755" name="abb6e082ea3fedf22c8648113d1be5755"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb6e082ea3fedf22c8648113d1be5755">&#9670;&#160;</a></span>registerWriter()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void sf::SoundFileFactory::registerWriter </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Register a new writer. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classsf_1_1SoundFileFactory.html#a1bd8ebd264a5ec33962a9f7a8ca21a60" title="Unregister a writer.">unregisterWriter</a> </dd></dl>

</div>
</div>
<a id="ac42f01faf678d1f410e1ce8a18e4cebb" name="ac42f01faf678d1f410e1ce8a18e4cebb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac42f01faf678d1f410e1ce8a18e4cebb">&#9670;&#160;</a></span>unregisterReader()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void sf::SoundFileFactory::unregisterReader </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Unregister a reader. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classsf_1_1SoundFileFactory.html#aeee396bfdbb6ac24c57e5c73c30ec105" title="Register a new reader.">registerReader</a> </dd></dl>

</div>
</div>
<a id="a1bd8ebd264a5ec33962a9f7a8ca21a60" name="a1bd8ebd264a5ec33962a9f7a8ca21a60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1bd8ebd264a5ec33962a9f7a8ca21a60">&#9670;&#160;</a></span>unregisterWriter()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void sf::SoundFileFactory::unregisterWriter </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Unregister a writer. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classsf_1_1SoundFileFactory.html#abb6e082ea3fedf22c8648113d1be5755" title="Register a new writer.">registerWriter</a> </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="SoundFileFactory_8hpp_source.html">SoundFileFactory.hpp</a></li>
</ul>
</div><!-- contents -->
        </div>
        <div id="footer-container">
            <div id="footer">
                SFML is licensed under the terms and conditions of the <a href="https://www.sfml-dev.org/license.php">zlib/png license</a>.<br>
                Copyright &copy; Laurent Gomila &nbsp;::&nbsp;
                Documentation generated by <a href="http://www.doxygen.org/" title="doxygen website">doxygen</a> &nbsp;::&nbsp;
            </div>
        </div>
    </body>
</html>
